package com.um.jdy.mp.station.entity.dto;

import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.um.jdy.common.device.entity.dto.FeeEbPowerDTO;
import com.um.jdy.common.device.entity.dto.FeeEbPriceDTO;
import com.um.jdy.common.device.entity.dto.FeeEbTimeDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Size;
import java.util.List;

@Data
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
public class FeeEbDTO {

    @ApiModelProperty(value = "方案名称", required = true)
    @Length(max = 20)
    private String name;

    @ApiModelProperty(value = "方案备注", required = true)
    @Length(max = 200)
    private String remark;

    @ApiModelProperty(value = "收费方式：Time-按时间收费 Energy - 按电量收费", required = true)
    private String feeType;

    @Deprecated
    @ApiModelProperty(value = "服务费计费方式：Time-按时间收费 Energy - 按电量收费")
    private String serviceType;

    @ApiModelProperty(value = "电费价格(分/度)")
    protected Integer energyPrice;

    @ApiModelProperty(value = "运营商id", required = true)
    private String platformMerchantId;

    @ApiModelProperty(value = "充电金额列表", required = true)
    private List<FeeEbPriceDTO> prices;

    @ApiModelProperty(value = "功率列表", required = true)
    private List<FeeEbPowerDTO> powers;

    @ApiModelProperty(value = "时段电价列表", required = true)
    private List<FeeEbTimeDTO> times;
}
